#pragma once

#include "Render/Shader/GlobalShader.h"

class VoxelVertexShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(VoxelVertexShader)

	DECLARE_SHADER_END()
};

class VoxelGeometryShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(VoxelGeometryShader)

	DECLARE_SHADER_END()
};

class LowpolyVertexShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(LowpolyVertexShader)

	GROUP_VERTEX_BINGING({ "inPosition", "inNormal" }, VK_VERTEX_INPUT_RATE_VERTEX, sizeof(glm::vec3) * 2);

	GROUP_VERTEX_BINGING({ "inOffset" }, VK_VERTEX_INPUT_RATE_INSTANCE, sizeof(glm::vec3));

	DECLARE_SHADER_END()
};

class LowpolyFragmentShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(LowpolyFragmentShader)

	DECLARE_SHADER_END()
};


